資料庫環境配置 & 基本 SQL
資料庫環境配置 & 基本 SQL
2021/3/3 王子軒
開源
入土
拖魚羹
NOTE:今天要來教資料庫和SQL,幹訓有講過一些,有人還記得什麼是sql、什麼是資料庫嗎?
還記得.....
SELECT? 資料庫是啥? SQL可以幹麻?
NOTE:今天要來教資料庫和SQL,幹訓有講過一些,有人還記得什麼是sql、什麼是資料庫嗎?
資料庫(database)
資料庫,簡而言之可視為電子化的檔案櫃——儲存電子檔案的處所,使用者可以對檔案中的資料執行新增、擷取、更新、刪除等操作...blablabla...
像是一個櫃子(database),裡面裝了好多資料夾(表、table)
table??(資料表)
一個資料表,裡面有好多資料
SQL?
S tructured Q uery L anguage
a domain-specific language designed for managing data
阿就拿來讓資料庫處理資料的語言啦ˋˊ
NOTE: 但是資料庫其實有很多種,例如:關係式資料庫,物件導向資料庫等等,SQL基本上是用在關係式資料庫。SQL也是我們課程主要要講的,我們寫的、送給資料庫跑得就叫做query
環境配置
http://sqlitestudio.pl/ https://github.com/QtTutorial/QtBasic/blob/master/Qt%20Sqlite/Taiwan
(教學文章:https://chenglearning.blogspot.com/2013/11/sqlitestudio1sqlite.html)
NOTE:下載這兩個
匯入Database
- 按下 "&Add a database(Ctrl+O)"
- 按下 "Browsing for existing database file..."
- 改成 "All files(*)"
- 選剛剛下載的Taiwan,然後按 "OK"
- 按下 "Open SQL &editor(Alt+E)"
query time!
查詢
https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all
SELECT <column1, column2,...> [FROM <table>][WHERE <condition>]
NOTE:把資料庫的資料查詢(選)出來。這邊有個用法,如果你想選所有欄位,可以用萬用字元*
row, column, cell補充
查詢條件WHERE
1. WHERE ID > 5
2. WHERE username = "Bob" OR username = "Alice"
3. WHERE uesrname != "Tom"
SELECT * FROM customer WHERE uesrname != "Tom"
NOTE:後面的condition就是對欄位的判斷,很像其他程式語言對變數的判斷,基本的有大於、小於、等於、不等於、AND、OR。
語法很怪很難記?
資料庫的概念比較像是"集合",所以如果用圖像的方式來想,語法上就會比較好記憶。
NOTE:例如select就是從中間選出、WHERE像是上面得某個範圍、地點
練習
https://www.hackerrank.com/domains/sql?filters%5Bsubdomains%5D%5B%5D=select
修改
UPDATE <table>
SET <column>=<value>[, column2=value2, column3=value3...]
[WHERE <condition>]
欄位型態概念
NOTE: 資料庫儲存的時候,每個欄位都有對應的型態,像是C++、C、Java那樣,在處理資料庫的時候,例如:新增、修該和查詢條件,欄位要遇到值的時候都要注意欄位型態。
數值
浮點數
字串
時間&日期
練習
NOTE:因為更新沒有題目可以練習,接下來就在剛剛安裝的環境下測試。
- 把台南City_Code改成1337
- 把City_Code<100的City_cname改成天龍國